import { ElMessage } from 'element-plus';
import { useRouter } from 'vue-router';
// 网络请求方法
// 封装好处 1.便于修改  2.便于替换（以后不用aixos  换这里即可）
import axios from 'axios'
const router = useRouter();

axios.defaults.baseURL = 'http://127.0.0.1:7001'
// 请求拦截器
axios.interceptors.request.use(function (config: any) {
    // 发送请求的相关逻辑
    // config:对象  与 axios.defaults 相当
    // 借助config配置token
    let userinfo = window.localStorage.getItem('userinfo');
    // 判断token存在再做配置
    if (userinfo) {
        let token = userinfo
        config.headers.Authorization = token
    }
    return config
}, function (error: any) {
    // Do something with request error
    return Promise.reject(error)
})
axios.interceptors.response.use(function (response) {
    // Do something with response data
    const {code} = response.data;
    
    if(code === 403){
        ElMessage.warning('登录过期，请重新登录')
        localStorage.removeItem('ms_username');
        router.push('/login');
    }
    return response.data;
}, function (error) {
    // Do something with response error
    return Promise.reject(error);
});

//114.132.158.10
export default axios  //相当于导出了一个axios函数